package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.UserBean;
import com.project.util.InfoResult;

/**
 * 用户业务层
 */
public interface IUserService {

    /**
     * 分页显示用户信息
     *
     * @param pageNum
     * @param username
     * @return
     */
    PageInfo<UserBean> showUserByPage(int pageNum, String username);

    /**
     * 添加用户
     *
     * @param username
     * @param roles
     * @param realName
     * @return
     */
    InfoResult addUser(String username, int[] roles, String realName);

    /**
     * 根据id查找用户
     *
     * @param userId
     * @return
     */
    UserBean findUserById(int userId);

    /**
     * 根据id删除用户，清空其下角色
     *
     * @param userId
     * @return
     */
    InfoResult delUserById(int userId);

    /**
     * 根据用户id更新其下角色
     *
     * @param userId
     * @param roles
     * @return
     */
    InfoResult updateUserById(int userId, int[] roles);

    /**
     * 用户登录
     *
     * @param username
     * @param password
     * @return
     */
    UserBean userLogin(String username, String password);

    /**
     * 用户修改密码
     *
     * @param userId
     * @param oldPassword
     * @param newPassword
     * @return
     */
    InfoResult userUpdatePwd(int userId, String oldPassword, String newPassword);
}
